jmp near start
message db '1+2+3+...+100='
start:
mov ax,0x07c0
mov ds,ax
mov ax,0xb800
mov es,ax

mov si,message
mov di,0
mov cx,start-message

@1:
    mov al,[si]
    mov [es:di],al
    inc di
    mov byte [es:di],0x07
    inc di
    inc si
    loop @1

mov ax,0
mov bx,1
mov cx,100
@2:
add ax,bx
inc bx
loop @2

xor dx,dx
mov ss,dx
mov sp,dx
mov cx,0
mov bx,10
@3:
xor dx,dx
div bx
or dl,0x30
push dx
inc cx
cmp al,0
jne @3

@4:
pop ax
mov [es:di],al
inc di
mov byte [es:di],0x03
inc di
loop @4

jmp near $

times 510-($-$$) db 0
db 0x55,0xaa